package br.ucb.sigplan.action.impl.service;

import java.util.List;

import br.ucb.sigplan.beans.Conteudo;
import br.ucb.sigplan.beans.ConteudoTurma;
import br.ucb.sigplan.beans.Turma;
import br.ucb.sigplan.crud.ConteudoTurmaCrud;

public class CadastraConteudosTurmaService {
	public static void insertAll(List<Conteudo> conteudos , Turma turma) {
		for (Conteudo conteudo : conteudos) {
			ConteudoTurmaCrud.insert(new ConteudoTurma(conteudo, turma));
		}
	}
	
	public static void insert(List<Conteudo> conteudos, Turma turma) {
		List<Conteudo> conteudosTurma = ConteudoTurmaCrud.findConteudoByTurma(turma.getIdTurma());
		adicionaBanco(conteudos, conteudosTurma, turma);
		deleteBanco(conteudos, conteudosTurma, turma);
	}
	
	public static void adicionaBanco(List<Conteudo> conteudos, List<Conteudo> conteudosTurma, Turma turma) {
		for (Conteudo conteudo : conteudos) {
			if (!conteudosTurma.contains(conteudo)) {
				ConteudoTurmaCrud.insert(new ConteudoTurma(conteudo, turma));
			}
		}
	}
	
	public static void deleteBanco(List<Conteudo> conteudos, List<Conteudo> conteudosTurma, Turma turma) {
		for (Conteudo conteudo : conteudosTurma) {
			if (!conteudos.contains(conteudo)) {
				ConteudoTurmaCrud.delete(new ConteudoTurma(conteudo, turma));
			}
		}
	}
}
